{"ast":null,"code":"import _slicedToArray from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\";\nimport _defineProperty from \"/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/@babel/runtime/helpers/esm/defineProperty.js\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport throttleByAnimationFrame from '../_util/throttleByAnimationFrame';\nimport useStyle from './style';\nimport { addObserveTarget, getFixedBottom, getFixedTop, getTargetRect, removeObserveTarget } from './utils';\nfunction getDefaultTarget() {\n  return typeof window !== 'undefined' ? window : null;\n}\nvar AffixStatus;\n(function (AffixStatus) {\n  AffixStatus[AffixStatus[\"None\"] = 0] = \"None\";\n  AffixStatus[AffixStatus[\"Prepare\"] = 1] = \"Prepare\";\n})(AffixStatus || (AffixStatus = {}));\nvar Affix = /*#__PURE__*/function (_React$Component) {\n  _inherits(Affix, _React$Component);\n  var _super = _createSuper(Affix);\n  function Affix() {\n    var _this;\n    _classCallCheck(this, Affix);\n    _this = _super.apply(this, arguments);\n    _this.state = {\n      status: AffixStatus.None,\n      lastAffix: false,\n      prevTarget: null\n    };\n    _this.getOffsetTop = function () {\n      var _this$props = _this.props,\n        offsetBottom = _this$props.offsetBottom,\n        offsetTop = _this$props.offsetTop;\n      return offsetBottom === undefined && offsetTop === undefined ? 0 : offsetTop;\n    };\n    _this.getOffsetBottom = function () {\n      return _this.props.offsetBottom;\n    };\n    _this.savePlaceholderNode = function (node) {\n      _this.placeholderNode = node;\n    };\n    _this.saveFixedNode = function (node) {\n      _this.fixedNode = node;\n    };\n    // =================== Measure ===================\n    _this.measure = function () {\n      var _this$state = _this.state,\n        status = _this$state.status,\n        lastAffix = _this$state.lastAffix;\n      var onChange = _this.props.onChange;\n      var targetFunc = _this.getTargetFunc();\n      if (status !== AffixStatus.Prepare || !_this.fixedNode || !_this.placeholderNode || !targetFunc) {\n        return;\n      }\n      var offsetTop = _this.getOffsetTop();\n      var offsetBottom = _this.getOffsetBottom();\n      var targetNode = targetFunc();\n      if (!targetNode) {\n        return;\n      }\n      var newState = {\n        status: AffixStatus.None\n      };\n      var targetRect = getTargetRect(targetNode);\n      var placeholderReact = getTargetRect(_this.placeholderNode);\n      var fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n      var fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n      if (placeholderReact.top === 0 && placeholderReact.left === 0 && placeholderReact.width === 0 && placeholderReact.height === 0) {\n        return;\n      }\n      if (fixedTop !== undefined) {\n        newState.affixStyle = {\n          position: 'fixed',\n          top: fixedTop,\n          width: placeholderReact.width,\n          height: placeholderReact.height\n        };\n        newState.placeholderStyle = {\n          width: placeholderReact.width,\n          height: placeholderReact.height\n        };\n      } else if (fixedBottom !== undefined) {\n        newState.affixStyle = {\n          position: 'fixed',\n          bottom: fixedBottom,\n          width: placeholderReact.width,\n          height: placeholderReact.height\n        };\n        newState.placeholderStyle = {\n          width: placeholderReact.width,\n          height: placeholderReact.height\n        };\n      }\n      newState.lastAffix = !!newState.affixStyle;\n      if (onChange && lastAffix !== newState.lastAffix) {\n        onChange(newState.lastAffix);\n      }\n      _this.setState(newState);\n    };\n    // @ts-ignore TS6133\n    _this.prepareMeasure = function () {\n      // event param is used before. Keep compatible ts define here.\n      _this.setState({\n        status: AffixStatus.Prepare,\n        affixStyle: undefined,\n        placeholderStyle: undefined\n      });\n      // Test if `updatePosition` called\n      if (process.env.NODE_ENV === 'test') {\n        var onTestUpdatePosition = _this.props.onTestUpdatePosition;\n        onTestUpdatePosition === null || onTestUpdatePosition === void 0 ? void 0 : onTestUpdatePosition();\n      }\n    };\n    _this.updatePosition = throttleByAnimationFrame(function () {\n      _this.prepareMeasure();\n    });\n    _this.lazyUpdatePosition = throttleByAnimationFrame(function () {\n      var targetFunc = _this.getTargetFunc();\n      var affixStyle = _this.state.affixStyle;\n      // Check position change before measure to make Safari smooth\n      if (targetFunc && affixStyle) {\n        var offsetTop = _this.getOffsetTop();\n        var offsetBottom = _this.getOffsetBottom();\n        var targetNode = targetFunc();\n        if (targetNode && _this.placeholderNode) {\n          var targetRect = getTargetRect(targetNode);\n          var placeholderReact = getTargetRect(_this.placeholderNode);\n          var fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n          var fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n          if (fixedTop !== undefined && affixStyle.top === fixedTop || fixedBottom !== undefined && affixStyle.bottom === fixedBottom) {\n            return;\n          }\n        }\n      }\n      // Directly call prepare measure since it's already throttled.\n      _this.prepareMeasure();\n    });\n    return _this;\n  }\n  _createClass(Affix, [{\n    key: \"getTargetFunc\",\n    value: function getTargetFunc() {\n      var getTargetContainer = this.context.getTargetContainer;\n      var target = this.props.target;\n      if (target !== undefined) {\n        return target;\n      }\n      return getTargetContainer !== null && getTargetContainer !== void 0 ? getTargetContainer : getDefaultTarget;\n    }\n    // Event handler\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      var _this2 = this;\n      var targetFunc = this.getTargetFunc();\n      if (targetFunc) {\n        // [Legacy] Wait for parent component ref has its value.\n        // We should use target as directly element instead of function which makes element check hard.\n        this.timeout = setTimeout(function () {\n          addObserveTarget(targetFunc(), _this2);\n          // Mock Event object.\n          _this2.updatePosition();\n        });\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      var prevTarget = this.state.prevTarget;\n      var targetFunc = this.getTargetFunc();\n      var newTarget = (targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc()) || null;\n      if (prevTarget !== newTarget) {\n        removeObserveTarget(this);\n        if (newTarget) {\n          addObserveTarget(newTarget, this);\n          // Mock Event object.\n          this.updatePosition();\n        }\n        // eslint-disable-next-line react/no-did-update-set-state\n        this.setState({\n          prevTarget: newTarget\n        });\n      }\n      if (prevProps.offsetTop !== this.props.offsetTop || prevProps.offsetBottom !== this.props.offsetBottom) {\n        this.updatePosition();\n      }\n      this.measure();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.timeout) {\n        clearTimeout(this.timeout);\n        this.timeout = null;\n      }\n      removeObserveTarget(this);\n      this.updatePosition.cancel();\n      // https://github.com/ant-design/ant-design/issues/22683\n      this.lazyUpdatePosition.cancel();\n    }\n    // =================== Render ===================\n  }, {\n    key: \"render\",\n    value: function render() {\n      var _classNames;\n      var _this$state2 = this.state,\n        affixStyle = _this$state2.affixStyle,\n        placeholderStyle = _this$state2.placeholderStyle;\n      var _this$props2 = this.props,\n        affixPrefixCls = _this$props2.affixPrefixCls,\n        rootClassName = _this$props2.rootClassName,\n        children = _this$props2.children;\n      var className = classNames((_classNames = {}, _defineProperty(_classNames, rootClassName, !!affixStyle), _defineProperty(_classNames, affixPrefixCls, !!affixStyle), _classNames));\n      var props = omit(this.props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target', 'onChange', 'affixPrefixCls', 'rootClassName']);\n      // Omit this since `onTestUpdatePosition` only works on test.\n      if (process.env.NODE_ENV === 'test') {\n        props = omit(props, ['onTestUpdatePosition']);\n      }\n      return /*#__PURE__*/React.createElement(ResizeObserver, {\n        onResize: this.updatePosition\n      }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, props, {\n        ref: this.savePlaceholderNode\n      }), affixStyle && /*#__PURE__*/React.createElement(\"div\", {\n        style: placeholderStyle,\n        \"aria-hidden\": \"true\"\n      }), /*#__PURE__*/React.createElement(\"div\", {\n        className: className,\n        ref: this.saveFixedNode,\n        style: affixStyle\n      }, /*#__PURE__*/React.createElement(ResizeObserver, {\n        onResize: this.updatePosition\n      }, children))));\n    }\n  }]);\n  return Affix;\n}(React.Component);\nAffix.contextType = ConfigContext;\nvar AffixFC = /*#__PURE__*/React.forwardRef(function (props, ref) {\n  var customizePrefixCls = props.prefixCls;\n  var _React$useContext = React.useContext(ConfigContext),\n    getPrefixCls = _React$useContext.getPrefixCls;\n  var affixPrefixCls = getPrefixCls('affix', customizePrefixCls);\n  var _useStyle = useStyle(affixPrefixCls),\n    _useStyle2 = _slicedToArray(_useStyle, 2),\n    wrapSSR = _useStyle2[0],\n    hashId = _useStyle2[1];\n  var AffixProps = Object.assign(Object.assign({}, props), {\n    affixPrefixCls: affixPrefixCls,\n    rootClassName: hashId\n  });\n  return wrapSSR( /*#__PURE__*/React.createElement(Affix, Object.assign({}, AffixProps, {\n    ref: ref\n  })));\n});\nif (process.env.NODE_ENV !== 'production') {\n  AffixFC.displayName = 'Affix';\n}\nexport default AffixFC;","map":{"version":3,"names":["_classCallCheck","_createClass","_inherits","_createSuper","classNames","ResizeObserver","omit","React","ConfigContext","throttleByAnimationFrame","useStyle","addObserveTarget","getFixedBottom","getFixedTop","getTargetRect","removeObserveTarget","getDefaultTarget","window","AffixStatus","Affix","_React$Component","_super","_this","apply","arguments","state","status","None","lastAffix","prevTarget","getOffsetTop","props","offsetBottom","offsetTop","undefined","getOffsetBottom","savePlaceholderNode","node","placeholderNode","saveFixedNode","fixedNode","measure","onChange","targetFunc","getTargetFunc","Prepare","targetNode","newState","targetRect","placeholderReact","fixedTop","fixedBottom","top","left","width","height","affixStyle","position","placeholderStyle","bottom","setState","prepareMeasure","process","env","NODE_ENV","onTestUpdatePosition","updatePosition","lazyUpdatePosition","key","value","getTargetContainer","context","target","componentDidMount","timeout","setTimeout","componentDidUpdate","prevProps","newTarget","componentWillUnmount","clearTimeout","cancel","render","affixPrefixCls","rootClassName","children","className","createElement","onResize","Object","assign","ref","style","Component","contextType","AffixFC","forwardRef","customizePrefixCls","prefixCls","useContext","getPrefixCls","wrapSSR","hashId","AffixProps","displayName"],"sources":["/Users/poppie/Desktop/development/messenger/app/frontend/node_modules/antd/es/affix/index.js"],"sourcesContent":["import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport classNames from 'classnames';\nimport ResizeObserver from 'rc-resize-observer';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport throttleByAnimationFrame from '../_util/throttleByAnimationFrame';\nimport useStyle from './style';\nimport { addObserveTarget, getFixedBottom, getFixedTop, getTargetRect, removeObserveTarget } from './utils';\nfunction getDefaultTarget() {\n  return typeof window !== 'undefined' ? window : null;\n}\nvar AffixStatus;\n(function (AffixStatus) {\n  AffixStatus[AffixStatus[\"None\"] = 0] = \"None\";\n  AffixStatus[AffixStatus[\"Prepare\"] = 1] = \"Prepare\";\n})(AffixStatus || (AffixStatus = {}));\nlet Affix = /*#__PURE__*/function (_React$Component) {\n  _inherits(Affix, _React$Component);\n  var _super = _createSuper(Affix);\n  function Affix() {\n    var _this;\n    _classCallCheck(this, Affix);\n    _this = _super.apply(this, arguments);\n    _this.state = {\n      status: AffixStatus.None,\n      lastAffix: false,\n      prevTarget: null\n    };\n    _this.getOffsetTop = () => {\n      const {\n        offsetBottom,\n        offsetTop\n      } = _this.props;\n      return offsetBottom === undefined && offsetTop === undefined ? 0 : offsetTop;\n    };\n    _this.getOffsetBottom = () => _this.props.offsetBottom;\n    _this.savePlaceholderNode = node => {\n      _this.placeholderNode = node;\n    };\n    _this.saveFixedNode = node => {\n      _this.fixedNode = node;\n    };\n    // =================== Measure ===================\n    _this.measure = () => {\n      const {\n        status,\n        lastAffix\n      } = _this.state;\n      const {\n        onChange\n      } = _this.props;\n      const targetFunc = _this.getTargetFunc();\n      if (status !== AffixStatus.Prepare || !_this.fixedNode || !_this.placeholderNode || !targetFunc) {\n        return;\n      }\n      const offsetTop = _this.getOffsetTop();\n      const offsetBottom = _this.getOffsetBottom();\n      const targetNode = targetFunc();\n      if (!targetNode) {\n        return;\n      }\n      const newState = {\n        status: AffixStatus.None\n      };\n      const targetRect = getTargetRect(targetNode);\n      const placeholderReact = getTargetRect(_this.placeholderNode);\n      const fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n      const fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n      if (placeholderReact.top === 0 && placeholderReact.left === 0 && placeholderReact.width === 0 && placeholderReact.height === 0) {\n        return;\n      }\n      if (fixedTop !== undefined) {\n        newState.affixStyle = {\n          position: 'fixed',\n          top: fixedTop,\n          width: placeholderReact.width,\n          height: placeholderReact.height\n        };\n        newState.placeholderStyle = {\n          width: placeholderReact.width,\n          height: placeholderReact.height\n        };\n      } else if (fixedBottom !== undefined) {\n        newState.affixStyle = {\n          position: 'fixed',\n          bottom: fixedBottom,\n          width: placeholderReact.width,\n          height: placeholderReact.height\n        };\n        newState.placeholderStyle = {\n          width: placeholderReact.width,\n          height: placeholderReact.height\n        };\n      }\n      newState.lastAffix = !!newState.affixStyle;\n      if (onChange && lastAffix !== newState.lastAffix) {\n        onChange(newState.lastAffix);\n      }\n      _this.setState(newState);\n    };\n    // @ts-ignore TS6133\n    _this.prepareMeasure = () => {\n      // event param is used before. Keep compatible ts define here.\n      _this.setState({\n        status: AffixStatus.Prepare,\n        affixStyle: undefined,\n        placeholderStyle: undefined\n      });\n      // Test if `updatePosition` called\n      if (process.env.NODE_ENV === 'test') {\n        const {\n          onTestUpdatePosition\n        } = _this.props;\n        onTestUpdatePosition === null || onTestUpdatePosition === void 0 ? void 0 : onTestUpdatePosition();\n      }\n    };\n    _this.updatePosition = throttleByAnimationFrame(() => {\n      _this.prepareMeasure();\n    });\n    _this.lazyUpdatePosition = throttleByAnimationFrame(() => {\n      const targetFunc = _this.getTargetFunc();\n      const {\n        affixStyle\n      } = _this.state;\n      // Check position change before measure to make Safari smooth\n      if (targetFunc && affixStyle) {\n        const offsetTop = _this.getOffsetTop();\n        const offsetBottom = _this.getOffsetBottom();\n        const targetNode = targetFunc();\n        if (targetNode && _this.placeholderNode) {\n          const targetRect = getTargetRect(targetNode);\n          const placeholderReact = getTargetRect(_this.placeholderNode);\n          const fixedTop = getFixedTop(placeholderReact, targetRect, offsetTop);\n          const fixedBottom = getFixedBottom(placeholderReact, targetRect, offsetBottom);\n          if (fixedTop !== undefined && affixStyle.top === fixedTop || fixedBottom !== undefined && affixStyle.bottom === fixedBottom) {\n            return;\n          }\n        }\n      }\n      // Directly call prepare measure since it's already throttled.\n      _this.prepareMeasure();\n    });\n    return _this;\n  }\n  _createClass(Affix, [{\n    key: \"getTargetFunc\",\n    value: function getTargetFunc() {\n      const {\n        getTargetContainer\n      } = this.context;\n      const {\n        target\n      } = this.props;\n      if (target !== undefined) {\n        return target;\n      }\n      return getTargetContainer !== null && getTargetContainer !== void 0 ? getTargetContainer : getDefaultTarget;\n    }\n    // Event handler\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      const targetFunc = this.getTargetFunc();\n      if (targetFunc) {\n        // [Legacy] Wait for parent component ref has its value.\n        // We should use target as directly element instead of function which makes element check hard.\n        this.timeout = setTimeout(() => {\n          addObserveTarget(targetFunc(), this);\n          // Mock Event object.\n          this.updatePosition();\n        });\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate(prevProps) {\n      const {\n        prevTarget\n      } = this.state;\n      const targetFunc = this.getTargetFunc();\n      const newTarget = (targetFunc === null || targetFunc === void 0 ? void 0 : targetFunc()) || null;\n      if (prevTarget !== newTarget) {\n        removeObserveTarget(this);\n        if (newTarget) {\n          addObserveTarget(newTarget, this);\n          // Mock Event object.\n          this.updatePosition();\n        }\n        // eslint-disable-next-line react/no-did-update-set-state\n        this.setState({\n          prevTarget: newTarget\n        });\n      }\n      if (prevProps.offsetTop !== this.props.offsetTop || prevProps.offsetBottom !== this.props.offsetBottom) {\n        this.updatePosition();\n      }\n      this.measure();\n    }\n  }, {\n    key: \"componentWillUnmount\",\n    value: function componentWillUnmount() {\n      if (this.timeout) {\n        clearTimeout(this.timeout);\n        this.timeout = null;\n      }\n      removeObserveTarget(this);\n      this.updatePosition.cancel();\n      // https://github.com/ant-design/ant-design/issues/22683\n      this.lazyUpdatePosition.cancel();\n    }\n    // =================== Render ===================\n  }, {\n    key: \"render\",\n    value: function render() {\n      const {\n        affixStyle,\n        placeholderStyle\n      } = this.state;\n      const {\n        affixPrefixCls,\n        rootClassName,\n        children\n      } = this.props;\n      const className = classNames({\n        [rootClassName]: !!affixStyle,\n        [affixPrefixCls]: !!affixStyle\n      });\n      let props = omit(this.props, ['prefixCls', 'offsetTop', 'offsetBottom', 'target', 'onChange', 'affixPrefixCls', 'rootClassName']);\n      // Omit this since `onTestUpdatePosition` only works on test.\n      if (process.env.NODE_ENV === 'test') {\n        props = omit(props, ['onTestUpdatePosition']);\n      }\n      return /*#__PURE__*/React.createElement(ResizeObserver, {\n        onResize: this.updatePosition\n      }, /*#__PURE__*/React.createElement(\"div\", Object.assign({}, props, {\n        ref: this.savePlaceholderNode\n      }), affixStyle && /*#__PURE__*/React.createElement(\"div\", {\n        style: placeholderStyle,\n        \"aria-hidden\": \"true\"\n      }), /*#__PURE__*/React.createElement(\"div\", {\n        className: className,\n        ref: this.saveFixedNode,\n        style: affixStyle\n      }, /*#__PURE__*/React.createElement(ResizeObserver, {\n        onResize: this.updatePosition\n      }, children))));\n    }\n  }]);\n  return Affix;\n}(React.Component);\nAffix.contextType = ConfigContext;\nconst AffixFC = /*#__PURE__*/React.forwardRef((props, ref) => {\n  const {\n    prefixCls: customizePrefixCls\n  } = props;\n  const {\n    getPrefixCls\n  } = React.useContext(ConfigContext);\n  const affixPrefixCls = getPrefixCls('affix', customizePrefixCls);\n  const [wrapSSR, hashId] = useStyle(affixPrefixCls);\n  const AffixProps = Object.assign(Object.assign({}, props), {\n    affixPrefixCls,\n    rootClassName: hashId\n  });\n  return wrapSSR( /*#__PURE__*/React.createElement(Affix, Object.assign({}, AffixProps, {\n    ref: ref\n  })));\n});\nif (process.env.NODE_ENV !== 'production') {\n  AffixFC.displayName = 'Affix';\n}\nexport default AffixFC;"],"mappings":"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"},"metadata":{},"sourceType":"module"}